﻿using Admin.Database.Enums;
using Framework.SqlSugar.Entity;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Admin.Database.Model;

/// <summary>
/// 系统角色表
/// </summary>
[SugarTable(null, "系统角色表")]
[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
public partial class SysRole : EntityBase
{
	/// <summary>
	/// 名称
	/// </summary>
	[SugarColumn(ColumnDescription = "名称", Length = 64)]
	[Required, MaxLength(64)]
	public virtual string Name { get; set; }

	/// <summary>
	/// 编码
	/// </summary>
	[SugarColumn(ColumnDescription = "编码", Length = 64)]
	[MaxLength(64)]
	public string? Code { get; set; }

	/// <summary>
	/// 排序
	/// </summary>
	[SugarColumn(ColumnDescription = "排序")]
	public int OrderNo { get; set; } = 100;

	/// <summary>
	/// 数据范围（1全部数据 2本部门及以下数据 3本部门数据 4仅本人数据 5自定义数据）
	/// </summary>
	[SugarColumn(ColumnDescription = "数据范围")]
	public DataScopeEnum DataScope { get; set; } = DataScopeEnum.Self;

	/// <summary>
	/// 备注
	/// </summary>
	[SugarColumn(ColumnDescription = "备注", Length = 128)]
	[MaxLength(128)]
	public string? Remark { get; set; }

	/// <summary>
	/// 状态
	/// </summary>
	[SugarColumn(ColumnDescription = "状态")]
	public StatusEnum Status { get; set; } = StatusEnum.Enable;
}
